destroy Dom0. Currently, xm does not return an error for this case.
Xend tries to destroy dom0 and leaves the system in an unstable
state. Subsequent attempts to create a domain result in the following
error message:
Error: Error creating domain: (106, 'Transport endpoint is already \
connected')
This will fix bugzilla bug #243
Signed-off-by: Dan Smith <danms@us.ibm.com>
__all__ = [ "XendDomain" ]
SHUTDOWN_TIMEOUT = 30
+PRIV_DOMAIN = 0
def is_dead(dom):
return dom['crashed'] or dom['shutdown'] or (
self.domain_restarts()
def dom0_setup(self):
- dom0 = self.domain_lookup(0)
+ dom0 = self.domain_lookup(PRIV_DOMAIN)
if not dom0:
dom0 = self.dom0_unknown()
dom0.dom0_init_store()
return self.domains.get(id)
def dom0_unknown(self):
- dom0 = 0
+ dom0 = PRIV_DOMAIN
uuid = None
info = self.xen_domain(dom0)
dompath = GetDomainPath(dom0)
@param domid: domain id
"""
+
+ if domid == PRIV_DOMAIN:
+ raise XendError("Cannot destroy priviliged domain %i" % domid)
+
self.domain_restart_schedule(domid, reason, force=True)
dominfo = self.domain_lookup(domid)
if dominfo: